package com.project.mapper.employeeMapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmployeeBean;
import com.project.bean.ServeOrderBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IEmployeeMapper {
    /**
     * 添加员工
     * @param employee
     */
    public void add(EmployeeBean employee);

    /**
     * 员工离职,根据员工id，修改员工的在职状态
     * @param id  员工ID
     */
    public void del(int id);

    /**
     * 修改员工信息
     * @param id  员工ID
     * @param tel  员工电话
     * @param skill  员工专长
     */
    public void update(@Param("id")int id, @Param("tel")String tel, @Param("skill")String skill);

    /**
     * 修改员工服务状态
     * @param id  员工ID
     * @param work  员工服务状态
     */
    public void updateState(@Param("id")int id, @Param("work")String work);

    /**
     * 按ID查找员工,同时查询员工已服务的集合
     * @param id  员工ID
     * @return  员工对象
     */
    public EmployeeBean findById(@Param("id")int id);

    /**
     * 查询空闲状态员工
     * @param storeId  员工所属店铺ID
     * @return  员工集合
     */
    public List<EmployeeBean> findByState(int storeId);

    /**
     * 按专长查询员工
     * @param skill  员工专长
     * @param storeId  员工所属店铺ID
     * @return 员工对象
     */
    public List<EmployeeBean> findBySkill(@Param("skill")String skill, @Param("storeId")int storeId);

    /**
     * 分页查询所有员工
     * @param storeId  员工所属店铺ID
     * @return  员工集合
     */
    public List<EmployeeBean> findAll(int storeId);

    /**
     * 按照员工ID查找订单集合
     * @param id 员工id
     * @return 订单集合
     */
    public List<ServeOrderBean> findByOrderId(int id);
}
